#ifndef CSCREENMANAGER_H
#define CSCREENMANAGER_H

#include <QList>
#include "CInput.h"
#include "CAudioManager.h"

class CGraphics;
class CScreen;

class CScreenManager
{

public:
    CScreenManager();
    ~CScreenManager();

    void init( CGraphics *gl );
    void addSound( CAudioManager *am );
    CAudioManager* getSound();

    int update( CInput *in );
    void draw( CGraphics *gl );

    void addScreen( CScreen *sc );
    void removeScreen( CScreen *sc );
    void removeScreen( QString name );
    CScreen* getScreen( QString name );

private:

    CGraphics *gl;
    CAudioManager *am;
    bool initialized;
    QList<CScreen*> screens;
    QList<CScreen*> add, remove;

};

#endif // CSCREENMANAGER_H
